<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CoAP.NET</name>
    </assembly>
    <members>
        <member name="M:CoAP.Util.ArrayEqualityComparer`1.Equals(`0[],`0[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Util.ArrayEqualityComparer`1.GetHashCode(`0[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.Add(CoAP.Server.Resources.IResource)">
            <summary>
            Adds the specified resource as child.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.Remove(CoAP.Server.Resources.IResource)">
            <summary>
            Removes the the specified child.
            </summary>
            <param name="child"></param>
            <returns>true if the child was found, otherwise false</returns>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.GetChild(System.String)">
            <summary>
            Gets the child with the specified name.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.AddObserveRelation(CoAP.Observe.ObserveRelation)">
            <summary>
            Adds the specified CoAP observe relation.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.RemoveObserveRelation(CoAP.Observe.ObserveRelation)">
            <summary>
            Removes the specified CoAP observe relation.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.IResource.HandleRequest(CoAP.Net.Exchange)">
            <summary>
            Handles the request from the specified exchange.
            </summary>
            <param name="exchange">the exchange with the request</param>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Name">
            <summary>
            Gets or sets the name of the resource.
            Note that changing the name of a resource changes
            the path and URI of all children.
            Note that the parent of this resource must be notified
            that the name has changed so that it finds the
            resource under the correct new URI when another request arrives.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Path">
            <summary>
            Gets or sets the path to the resource which is equal to
            the URI of its parent plus a slash.
            Note that changing the path of a resource also changes
            the path of all its children.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Uri">
            <summary>
            Gets the uri of the resource.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Visible">
            <summary>
            Checks if the resource is visible to remote CoAP clients.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Cachable">
            <summary>
            Checks if is the URI of the resource can be cached.
            If another request with the same destination URI arrives,
            it can be forwarded to this resource right away instead of
            traveling through the resource tree looking for it.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Observable">
            <summary>
            Checks if this resource is observable by remote CoAP clients.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Attributes">
            <summary>
            Gets the attributes of this resource.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Executor">
            <summary>
            Gets the executor of this resource.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.EndPoints">
            <summary>
            Gets the endpoints this resource is bound to.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Parent">
            <summary>
            Gets or sets the parent of this resource.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.IResource.Children">
            <summary>
            Gets all child resources.
            </summary>
        </member>
        <member name="T:CoAP.Server.Resources.Resource">
            <summary>
            Basic implementation of a resource.
            Extend this class to write your own resources.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.#ctor(System.String)">
            <summary>
            Constructs a new resource with the specified name.
            </summary>
            <param name="name">the name</param>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.#ctor(System.String,System.Boolean)">
            <summary>
            Constructs a new resource with the specified name
            and makes it visible to clients if the flag is true.
            </summary>
            <param name="name">the name</param>
            <param name="visible">if the resource is visible or not</param>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.Add(CoAP.Server.Resources.IResource)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.Remove(CoAP.Server.Resources.IResource)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.GetChild(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.AddObserveRelation(CoAP.Observe.ObserveRelation)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.RemoveObserveRelation(CoAP.Observe.ObserveRelation)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.ClearObserveRelations">
            <summary>
            Cancel all observe relations to CoAP clients.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.ClearAndNotifyObserveRelations(CoAP.StatusCode)">
            <summary>
            Remove all observe relations to CoAP clients and notify them that the
            observe relation has been canceled.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.HandleRequest(CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.DoGet(CoAP.Server.Resources.CoapExchange)">
            <summary>
            Handles the GET request in the given CoAPExchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.DoPost(CoAP.Server.Resources.CoapExchange)">
            <summary>
            Handles the POST request in the given CoAPExchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.DoPut(CoAP.Server.Resources.CoapExchange)">
            <summary>
            Handles the PUT request in the given CoAPExchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.DoDelete(CoAP.Server.Resources.CoapExchange)">
            <summary>
            Handles the DELETE request in the given CoAPExchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.Resource.Changed">
            <summary>
            Notifies all CoAP clients that have established an observe relation with
            this resource that the state has changed by reprocessing their original
            request that has established the relation. The notification is done by
            the executor of this resource or on the executor of its parent or
            transitively ancestor. If no ancestor defines its own executor, the
            thread that has called this method performs the notification.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Name">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Path">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Uri">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Visible">
            <summary>
            Gets or sets a value indicating if the resource is visible to remote CoAP clients.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Cachable">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Observable">
            <summary>
            Gets or sets a value indicating if this resource is observable by remote CoAP clients.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.ObserveType">
            <summary>
            Gets or sets the type of the notifications that will be sent.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Attributes">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Executor">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.EndPoints">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Parent">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.Resources.Resource.Children">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Log.ILogManager">
            <summary>
            Provides methods to acquire <see cref="T:CoAP.Log.ILogger"/>.
            </summary>
        </member>
        <member name="M:CoAP.Log.ILogManager.GetLogger(System.Type)">
            <summary>
            Gets a logger of the given type.
            </summary>
        </member>
        <member name="M:CoAP.Log.ILogManager.GetLogger(System.String)">
            <summary>
            Gets a named logger.
            </summary>
        </member>
        <member name="T:CoAP.Codec.IMessageDecoder">
            <summary>
            Provides methods to parse incoming byte arrays to messages.
            </summary>
        </member>
        <member name="M:CoAP.Codec.MessageDecoder.DecodeRequest">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageDecoder.DecodeResponse">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageDecoder.DecodeEmptyMessage">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageDecoder.Decode">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.IsWellFormed">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.IsReply">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.IsRequest">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.IsResponse">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.IsEmpty">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.Version">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Codec.MessageDecoder.ID">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.ResponseEventArgs">
            <summary>
            Represents an event when a response arrives for a request.
            </summary>
        </member>
        <member name="M:CoAP.ResponseEventArgs.#ctor(CoAP.Response)">
            <summary>
            
            </summary>
        </member>
        <member name="P:CoAP.ResponseEventArgs.Response">
            <summary>
            Gets the incoming response.
            </summary>
        </member>
        <member name="T:CoAP.Channel.IChannel">
            <summary>
            Represents a channel where bytes data can flow through.
            </summary>
        </member>
        <member name="M:CoAP.Channel.IChannel.Start">
            <summary>
            Starts this channel.
            </summary>
        </member>
        <member name="M:CoAP.Channel.IChannel.Stop">
            <summary>
            Stops this channel.
            </summary>
        </member>
        <member name="M:CoAP.Channel.IChannel.Send(System.Byte[],System.Net.EndPoint)">
            <summary>
            Sends data through this channel. This method should be non-blocking.
            </summary>
            <param name="data">the bytes to send</param>
            <param name="ep">the target endpoint</param>
        </member>
        <member name="P:CoAP.Channel.IChannel.LocalEndPoint">
            <summary>
            Gets the local endpoint of this channel.
            </summary>
        </member>
        <member name="E:CoAP.Channel.IChannel.DataReceived">
            <summary>
            Occurs when some bytes are received in this channel.
            </summary>
        </member>
        <member name="M:CoAP.Spec.IsFencepost(System.Int32)">
            <summary>
            Checks whether an option is a fencepost option.
            </summary>
            <param name="type">The option type to check</param>
            <returns>True iff the option is a fencepost option</returns>
        </member>
        <member name="M:CoAP.Spec.NextFencepost(System.Int32)">
            <summary>
            Returns the next fencepost option number following a given option number.
            </summary>
            <param name="optionNumber">The option number</param>
            <returns>The smallest fencepost option number larger than the given option</returns>
        </member>
        <member name="T:CoAP.Codec.IMessageEncoder">
            <summary>
            Provides methods to serialize outgoing messages to byte arrays.
            </summary>
        </member>
        <member name="M:CoAP.Codec.MessageEncoder.Encode(CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageEncoder.Encode(CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageEncoder.Encode(CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Codec.MessageEncoder.Encode(CoAP.Message)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.SendRequest(CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.SendResponse(CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.SendEmptyMessage(CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.ReceiveRequest(CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.ReceiveResponse(CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.ReceiveEmptyMessage(CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Matcher.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.EmptyMessage">
            <summary>
            Represents an empty CoAP message. An empty message has either
            the <see cref="T:CoAP.MessageType"/> ACK or RST.
            </summary>
        </member>
        <member name="T:CoAP.Message">
            <summary>
            The class Message models the base class of all CoAP messages.
            CoAP messages are of type <see cref="T:CoAP.Request"/>, <see cref="T:CoAP.Response"/>
            or <see cref="T:CoAP.EmptyMessage"/>, each of which has a <see cref="T:CoAP.MessageType"/>,
            a message identifier <see cref="P:CoAP.Message.ID"/>, a token (0-8 bytes),
            a  collection of <see cref="T:CoAP.Option"/>s and a payload.
            </summary>
        </member>
        <member name="F:CoAP.Message.InvalidID">
            <summary>
            Invalid message ID.
            </summary>
        </member>
        <member name="F:CoAP.Message.None">
            <summary>
            Indicates that no ID has been set.
            </summary>
        </member>
        <member name="M:CoAP.Message.#ctor">
            <summary>
            Instantiates a message.
            </summary>
        </member>
        <member name="M:CoAP.Message.#ctor(CoAP.MessageType)">
            <summary>
            Instantiates a message with the given type.
            </summary>
            <param name="type">the message type</param>
        </member>
        <member name="M:CoAP.Message.#ctor(CoAP.MessageType,System.Int32)">
            <summary>
            Instantiates a message with the given type and code.
            </summary>
            <param name="type">the message type</param>
            <param name="code">the message code</param>
        </member>
        <member name="M:CoAP.Message.SetPayload(System.String)">
            <summary>
            Sets the payload of this CoAP message.
            </summary>
            <param name="payload">The string representation of the payload</param>
        </member>
        <member name="M:CoAP.Message.SetPayload(System.String,System.Int32)">
            <summary>
            Sets the payload of this CoAP message.
            </summary>
            <param name="payload">The string representation of the payload</param>
            <param name="mediaType">The content-type of the payload</param>
        </member>
        <member name="M:CoAP.Message.SetPayload(System.Byte[],System.Int32)">
            <summary>
            Sets the payload of this CoAP message.
            </summary>
            <param name="payload">the payload bytes</param>
            <param name="mediaType">the content-type of the payload</param>
        </member>
        <member name="M:CoAP.Message.ToString">
            <summary>
            To string.
            </summary>
        </member>
        <member name="M:CoAP.Message.Equals(System.Object)">
            <summary>
            Equals.
            </summary>
        </member>
        <member name="M:CoAP.Message.GetHashCode">
            <summary>
            Get hash code.
            </summary>
        </member>
        <member name="M:CoAP.Message.AddOption(CoAP.Option)">
            <summary>
            Adds an option to the list of options of this CoAP message.
            </summary>
            <param name="option">the option to add</param>
        </member>
        <member name="M:CoAP.Message.AddOptions(System.Collections.Generic.IEnumerable{CoAP.Option})">
            <summary>
            Adds all option to the list of options of this CoAP message.
            </summary>
            <param name="options">the options to add</param>
        </member>
        <member name="M:CoAP.Message.RemoveOptions(CoAP.OptionType)">
            <summary>
            Removes all options of the given type from this CoAP message.
            </summary>
            <param name="optionType">the type of option to remove</param>
        </member>
        <member name="M:CoAP.Message.GetOptions(CoAP.OptionType)">
            <summary>
            Gets all options of the given type.
            </summary>
            <param name="optionType">the option type</param>
            <returns></returns>
        </member>
        <member name="M:CoAP.Message.SetOption(CoAP.Option)">
            <summary>
            Sets an option.
            </summary>
            <param name="opt">the option to set</param>
        </member>
        <member name="M:CoAP.Message.SetOptions(System.Collections.Generic.IEnumerable{CoAP.Option})">
            <summary>
            Sets all options with the specified option type.
            </summary>
            <param name="options">the options to set</param>
        </member>
        <member name="M:CoAP.Message.HasOption(CoAP.OptionType)">
            <summary>
            Checks if this CoAP message has options of the specified option type.
            </summary>
            <param name="type">the option type</param>
            <returns>rrue if options of the specified type exist</returns>
        </member>
        <member name="M:CoAP.Message.GetFirstOption(CoAP.OptionType)">
            <summary>
            Gets the first option of the specified option type.
            </summary>
            <param name="optionType">the option type</param>
            <returns>the first option of the specified type, or null</returns>
        </member>
        <member name="M:CoAP.Message.GetOptions">
            <summary>
            Gets a sorted list of all options.
            </summary>
            <returns></returns>
        </member>
        <member name="E:CoAP.Message.Retransmitting">
            <summary>
            Occurs when this message is retransmitting.
            </summary>
        </member>
        <member name="E:CoAP.Message.Acknowledge">
            <summary>
            Occurs when this message has been acknowledged by the remote endpoint.
            </summary>
        </member>
        <member name="E:CoAP.Message.Reject">
            <summary>
            Occurs when this message has been rejected by the remote endpoint.
            </summary>
        </member>
        <member name="E:CoAP.Message.Timeout">
            <summary>
            Occurs when the client stops retransmitting the message and still has
            not received anything from the remote endpoint.
            </summary>
        </member>
        <member name="E:CoAP.Message.Cancel">
            <summary>
            Occurs when this message has been canceled.
            </summary>
        </member>
        <member name="P:CoAP.Message.Type">
            <summary>
            Gets or sets the type of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.ID">
            <summary>
            Gets or sets the ID of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.Code">
            <summary>
            Gets the code of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.CodeString">
            <summary>
            Gets the code's string representation of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.IsRequest">
            <summary>
            Gets a value that indicates whether this CoAP message is a request message.
            </summary>
        </member>
        <member name="P:CoAP.Message.IsResponse">
            <summary>
            Gets a value that indicates whether this CoAP message is a response message.
            </summary>
        </member>
        <member name="P:CoAP.Message.Token">
            <summary>
            Gets or sets the 0-8 byte token.
            </summary>
        </member>
        <member name="P:CoAP.Message.TokenString">
            <summary>
            Gets the token represented as a string.
            </summary>
        </member>
        <member name="P:CoAP.Message.Destination">
            <summary>
            Gets or sets the destination endpoint.
            </summary>
        </member>
        <member name="P:CoAP.Message.Source">
            <summary>
            Gets or sets the source endpoint.
            </summary>
        </member>
        <member name="P:CoAP.Message.Acknowledged">
            <summary>
            Gets or sets a value indicating whether this message has been acknowledged.
            </summary>
        </member>
        <member name="P:CoAP.Message.Rejected">
            <summary>
            Gets or sets a value indicating whether this message has been rejected.
            </summary>
        </member>
        <member name="P:CoAP.Message.TimedOut">
            <summary>
            Gets or sets a value that indicates whether this CoAP message has timed out.
            Confirmable messages in particular might timeout.
            </summary>
        </member>
        <member name="P:CoAP.Message.Canceled">
            <summary>
            Gets or sets a value that indicates whether this CoAP message is canceled.
            </summary>
        </member>
        <member name="P:CoAP.Message.Duplicate">
            <summary>
            Gets or sets a value indicating whether this message is a duplicate.
            </summary>
        </member>
        <member name="P:CoAP.Message.Bytes">
            <summary>
            Gets or sets the serialized message as byte array, or null if not serialized yet.
            </summary>
        </member>
        <member name="P:CoAP.Message.Timestamp">
            <summary>
            Gets or sets the timestamp when this message has been received or sent,
            or <see cref="F:System.DateTime.MinValue"/> if neither has happened yet.
            </summary>
        </member>
        <member name="P:CoAP.Message.MaxRetransmit">
            <summary>
            Gets or sets the max times this message should be retransmitted if no ACK received.
            A value of 0 means that the <see cref="P:CoAP.ICoapConfig.MaxRetransmit"/>
            shoud be taken into account, while a negative means NO retransmission.
            The default value is 0.
            </summary>
        </member>
        <member name="P:CoAP.Message.AckTimeout">
            <summary>
            Gets or sets the amount of time in milliseconds after which this message will time out.
            A value of 0 indicates that the time should be decided automatically,
            while a negative that never time out. The default value is 0.
            </summary>
        </member>
        <member name="P:CoAP.Message.PayloadSize">
            <summary>
            Gets the size of the payload of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.Payload">
            <summary>
            Gets or sets the payload of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.PayloadString">
            <summary>
            Gets or sets the payload of this CoAP message in string representation.
            </summary>
        </member>
        <member name="P:CoAP.Message.IfMatches">
            <summary>
            Gets If-Match options.
            </summary>
        </member>
        <member name="P:CoAP.Message.LocationPath">
            <summary>
            Gets or set the location-path of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.ContentType">
            <summary>
            Gets or sets the content-type of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Message.ContentFormat">
            <summary>
            Gets or sets the content-format of this CoAP message,
            same as ContentType, only another name.
            </summary>
        </member>
        <member name="P:CoAP.Message.MaxAge">
            <summary>
            Gets or sets the max-age of this CoAP message.
            </summary>
        </member>
        <member name="M:CoAP.EmptyMessage.#ctor(CoAP.MessageType)">
            <summary>
            Instantiates a new empty message.
            </summary>
        </member>
        <member name="M:CoAP.EmptyMessage.NewACK(CoAP.Message)">
            <summary>
            Create a new acknowledgment for the specified message.
            </summary>
            <param name="message">the message to acknowledge</param>
            <returns>the acknowledgment</returns>
        </member>
        <member name="M:CoAP.EmptyMessage.NewRST(CoAP.Message)">
            <summary>
            Create a new reset message for the specified message.
            </summary>
            <param name="message">the message to reject</param>
            <returns>the reset</returns>
        </member>
        <member name="T:CoAP.Channel.UDPChannel">
            <summary>
            Channel via UDP protocol.
            </summary>
        </member>
        <member name="F:CoAP.Channel.UDPChannel.DefaultReceivePacketSize">
            <summary>
            Default size of buffer for receiving packet.
            </summary>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.#ctor">
            <summary>
            Initializes a UDP channel with a random port.
            </summary>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.#ctor(System.Int32)">
            <summary>
            Initializes a UDP channel with the given port, both on IPv4 and IPv6.
            </summary>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.#ctor(System.Net.EndPoint)">
            <summary>
            Initializes a UDP channel with the specific endpoint.
            </summary>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.Send(System.Byte[],System.Net.EndPoint)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Channel.UDPChannel.Dispose">
            <inheritdoc/>
        </member>
        <member name="E:CoAP.Channel.UDPChannel.DataReceived">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Channel.UDPChannel.LocalEndPoint">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Threading.NoThreadingExecutor.Start(CoAP.Action)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Threading.NoThreadingExecutor.Start(System.Action{System.Object},System.Object)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Stack.AbstractLayer">
            <summary>
            A partial implementation of a layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.SendRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.SendResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.SendEmptyMessage(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.ReceiveRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.ReceiveResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.AbstractLayer.ReceiveEmptyMessage(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="F:CoAP.Stack.ObserveLayer._backoff">
            <summary>
            Additional time to wait until re-registration
            </summary>
        </member>
        <member name="M:CoAP.Stack.ObserveLayer.#ctor(CoAP.ICoapConfig)">
            <summary>
            Constructs a new observe layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ObserveLayer.SendResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.ObserveLayer.ReceiveResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.ObserveLayer.ReceiveEmptyMessage(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Stack.IChain`2">
            <summary>
            Represents a chain of filters.
            </summary>
            <typeparam name="TFilter">the type of filters</typeparam>
            <typeparam name="TNextFilter">the type of next filters</typeparam>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetEntry(System.String)">
            <summary>
            Gets the <see cref="T:CoAP.Stack.IEntry`2"/> with the specified <paramref name="name"/> in this chain.
            </summary>
            <param name="name">the filter's name we are looking for</param>
            <returns>the <see cref="T:CoAP.Stack.IEntry`2"/> with the given name, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetEntry(`0)">
            <summary>
            Gets the <see cref="T:CoAP.Stack.IEntry`2"/> with the specified <paramref name="filter"/> in this chain.
            </summary>
            <param name="filter">the filter we are looking for</param>
            <returns>the <see cref="T:CoAP.Stack.IEntry`2"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetEntry(System.Type)">
            <summary>
            Gets the <see cref="T:CoAP.Stack.IEntry`2"/> with the specified <paramref name="filterType"/> in this chain.
            </summary>
            <remarks>If there's more than one filter with the specified type, the first match will be chosen.</remarks>
            <param name="filterType">the type of filter we are looking for</param>
            <returns>the <see cref="T:CoAP.Stack.IEntry`2"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Get(System.String)">
            <summary>
            Gets the <typeparamref name="TFilter"/> with the specified <paramref name="name"/> in this chain.
            </summary>
            <param name="name">the filter's name</param>
            <returns>the <typeparamref name="TFilter"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetNextFilter(System.String)">
            <summary>
            Gets the <typeparamref name="TNextFilter"/> of the <typeparamref name="TFilter"/>
            with the specified <paramref name="name"/> in this chain.
            </summary>
            <param name="name">the filter's name</param>
            <returns>the <typeparamref name="TNextFilter"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetNextFilter(`0)">
            <summary>
            Gets the <typeparamref name="TNextFilter"/> of the <typeparamref name="TFilter"/>
            with the specified <paramref name="filter"/> in this chain.
            </summary>
            <param name="filter">the filter</param>
            <returns>the <typeparamref name="TNextFilter"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetNextFilter(System.Type)">
            <summary>
            Gets the <typeparamref name="TNextFilter"/> of the <typeparamref name="TFilter"/>
            with the specified <paramref name="filterType"/> in this chain.
            </summary>
            <remarks>If there's more than one filter with the specified type, the first match will be chosen.</remarks>
            <param name="filterType">the type of filter</param>
            <returns>the <typeparamref name="TNextFilter"/>, or null if not found</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.GetAll">
            <summary>
            Gets all <see cref="T:CoAP.Stack.IEntry`2"/>s in this chain.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Contains(System.String)">
            <summary>
            Checks if this chain contains a filter with the specified <paramref name="name"/>.
            </summary>
            <param name="name">the filter's name</param>
            <returns>true if this chain contains a filter with the specified <paramref name="name"/></returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Contains(`0)">
            <summary>
            Checks if this chain contains the specified <paramref name="filter"/>.
            </summary>
            <param name="filter">the filter</param>
            <returns>true if this chain contains the specified <paramref name="filter"/></returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Contains(System.Type)">
            <summary>
            Checks if this chain contains a filter with the specified <paramref name="filterType"/>.
            </summary>
            <param name="filterType">the filter's type</param>
            <returns>true if this chain contains a filter with the specified <paramref name="filterType"/></returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.AddFirst(System.String,`0)">
            <summary>
            Adds the specified filter with the specified name at the beginning of this chain.
            </summary>
            <param name="name">the filter's name</param>
            <param name="filter">the filter to add</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.AddLast(System.String,`0)">
            <summary>
            Adds the specified filter with the specified name at the end of this chain.
            </summary>
            <param name="name">the filter's name</param>
            <param name="filter">the filter to add</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.AddBefore(System.String,System.String,`0)">
            <summary>
            Adds the specified filter with the specified name just before the filter whose name is
            <paramref name="baseName"/> in this chain.
            </summary>
            <param name="baseName">the targeted filter's name</param>
            <param name="name">the filter's name</param>
            <param name="filter">the filter to add</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.AddAfter(System.String,System.String,`0)">
            <summary>
            Adds the specified filter with the specified name just after the filter whose name is
            <paramref name="baseName"/> in this chain.
            </summary>
            <param name="baseName">the targeted filter's name</param>
            <param name="name">the filter's name</param>
            <param name="filter">the filter to add</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Replace(System.String,`0)">
            <summary>
            Replace the filter with the specified name with the specified new filter.
            </summary>
            <param name="name">the name of the filter to replace</param>
            <param name="newFilter">the new filter</param>
            <returns>the old filter</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Replace(`0,`0)">
            <summary>
            Replace the specified filter with the specified new filter.
            </summary>
            <param name="oldFilter">the filter to replace</param>
            <param name="newFilter">the new filter</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Remove(System.String)">
            <summary>
            Removes the filter with the specified name from this chain.
            </summary>
            <param name="name">the name of the filter to remove</param>
            <returns>the removed filter</returns>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Remove(`0)">
            <summary>
            Removes the specified filter.
            </summary>
            <param name="filter">the filter to remove</param>
        </member>
        <member name="M:CoAP.Stack.IChain`2.Clear">
            <summary>
            Removes all filters added to this chain.
            </summary>
        </member>
        <member name="T:CoAP.Stack.Chain`3">
            <summary>
            Abstract implementation of <see cref="T:CoAP.Stack.IChain`2"/>
            </summary>
            <typeparam name="TChain">the actual type of the chain</typeparam>
            <typeparam name="TFilter">the type of filters</typeparam>
            <typeparam name="TNextFilter">the type of next filters</typeparam>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetEntry(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Get(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetEntry(`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetEntry(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetNextFilter(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetNextFilter(`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetNextFilter(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.GetAll">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Contains(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Contains(`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Contains(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.AddFirst(System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.AddLast(System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.AddBefore(System.String,System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.AddAfter(System.String,System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Replace(System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Replace(`1,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Remove(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Remove(`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Deregister0(CoAP.Stack.Chain{`0,`1,`2}.Entry)">
            <summary>
            Deregister an entry from this chain.
            </summary>
        </member>
        <member name="M:CoAP.Stack.Chain`3.OnPreAdd(CoAP.Stack.Chain{`0,`1,`2}.Entry)">
            <summary>
            Fires before the entry is added to this chain.
            </summary>
        </member>
        <member name="M:CoAP.Stack.Chain`3.OnPostAdd(CoAP.Stack.Chain{`0,`1,`2}.Entry)">
            <summary>
            Fires after the entry is added to this chain.
            </summary>
        </member>
        <member name="M:CoAP.Stack.Chain`3.OnPreRemove(CoAP.Stack.Chain{`0,`1,`2}.Entry)">
            <summary>
            Fires before the entry is removed to this chain.
            </summary>
        </member>
        <member name="M:CoAP.Stack.Chain`3.OnPostRemove(CoAP.Stack.Chain{`0,`1,`2}.Entry)">
            <summary>
            Fires after the entry is removed to this chain.
            </summary>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Head">
            <summary>
            Head of this chain.
            </summary>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Tail">
            <summary>
            Tail of this chain.
            </summary>
        </member>
        <member name="T:CoAP.Stack.Chain`3.Entry">
            <summary>
            Represents an entry of filter in the chain.
            </summary>
        </member>
        <member name="T:CoAP.Stack.IEntry`2">
            <summary>
            Represents a name-filter pair that an <see cref="T:CoAP.Stack.IChain`2"/> contains.
            </summary>
        </member>
        <member name="M:CoAP.Stack.IEntry`2.AddBefore(System.String,`0)">
            <summary>
            Adds the specified filter with the specified name just before this entry.
            </summary>
        </member>
        <member name="M:CoAP.Stack.IEntry`2.AddAfter(System.String,`0)">
            <summary>
            Adds the specified filter with the specified name just after this entry.
            </summary>
        </member>
        <member name="M:CoAP.Stack.IEntry`2.Replace(`0)">
            <summary>
            Replace the filter of this entry with the specified new filter.
            </summary>
        </member>
        <member name="M:CoAP.Stack.IEntry`2.Remove">
            <summary>
            Removes this entry from the chain it belongs to.
            </summary>
        </member>
        <member name="P:CoAP.Stack.IEntry`2.Name">
            <summary>
            Gets the name of the filter.
            </summary>
        </member>
        <member name="P:CoAP.Stack.IEntry`2.Filter">
            <summary>
            Gets the filter.
            </summary>
        </member>
        <member name="P:CoAP.Stack.IEntry`2.NextFilter">
            <summary>
            Gets the <typeparamref name="TNextFilter"/> of the filter.
            </summary>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Entry.AddBefore(System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Entry.AddAfter(System.String,`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Entry.Replace(`1)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Entry.Remove">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.Chain`3.Entry.ToString">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.Name">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.Filter">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.NextFilter">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.Chain">
            <summary>
            Gets the chain this entry belongs to.
            </summary>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.PrevEntry">
            <summary>
            Gets the previous entry in the chain.
            </summary>
        </member>
        <member name="P:CoAP.Stack.Chain`3.Entry.NextEntry">
            <summary>
            Gets the next entry in the chain.
            </summary>
        </member>
        <member name="T:CoAP.Observe.ObserveRelation">
            <summary>
            Represents a relation between a client endpoint and a resource on this server.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveRelation.#ctor(CoAP.ICoapConfig,CoAP.Observe.ObservingEndpoint,CoAP.Server.Resources.IResource,CoAP.Net.Exchange)">
            <summary>
            Constructs a new observe relation.
            </summary>
            <param name="endpoint">the observing endpoint</param>
            <param name="resource">the observed resource</param>
            <param name="exchange">the exchange that tries to establish the observe relation</param>
        </member>
        <member name="M:CoAP.Observe.ObserveRelation.Cancel">
            <summary>
            Cancel this observe relation.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveRelation.CancelAll">
            <summary>
            Cancel all observer relations that this server has
            established with this's realtion's endpoint.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveRelation.NotifyObservers">
            <summary>
            Notifies the observing endpoint that the resource has been changed.
            </summary>
        </member>
        <member name="P:CoAP.Observe.ObserveRelation.Resource">
            <summary>
            Gets the resource.
            </summary>
        </member>
        <member name="P:CoAP.Observe.ObserveRelation.Exchange">
            <summary>
            Gets the exchange.
            </summary>
        </member>
        <member name="P:CoAP.Observe.ObserveRelation.Source">
            <summary>
            Gets the source endpoint of the observing endpoint.
            </summary>
        </member>
        <member name="P:CoAP.Observe.ObserveRelation.Established">
            <summary>
            Gets or sets a value indicating if this relation has been established.
            </summary>
        </member>
        <member name="T:CoAP.Log.TextWriterLogger">
            <summary>
            Logger that writes logs to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
        </member>
        <member name="T:CoAP.Log.ILogger">
            <summary>
            Provides methods to log messages.
            </summary>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Error(System.Object,System.String,System.Object[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Warning(System.Object,System.String,System.Object[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Info(System.Object,System.String,System.Object[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Debug(System.Object,System.String,System.Object[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Debug(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Debug(System.Object,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Error(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Error(System.Object,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Fatal(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Fatal(System.Object,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Info(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Info(System.Object,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Warn(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Log.TextWriterLogger.Warn(System.Object,System.Exception)">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.TextWriterLogger.IsDebugEnabled">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.TextWriterLogger.IsInfoEnabled">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.TextWriterLogger.IsErrorEnabled">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.TextWriterLogger.IsFatalEnabled">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.TextWriterLogger.IsWarnEnabled">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.LinkAttribute">
            <summary>
            Class for linkformat attributes.
            </summary>
        </member>
        <member name="M:CoAP.LinkAttribute.#ctor(System.String,System.Object)">
            <summary>
            Initializes an attribute.
            </summary>
        </member>
        <member name="M:CoAP.LinkAttribute.Serialize(System.Text.StringBuilder)">
            <summary>
            Serializes this attribute into its string representation.
            </summary>
            <param name="builder"></param>
        </member>
        <member name="M:CoAP.LinkAttribute.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:CoAP.LinkAttribute.Name">
            <summary>
            Gets the name of this attribute.
            </summary>
        </member>
        <member name="P:CoAP.LinkAttribute.Value">
            <summary>
            Gets the value of this attribute.
            </summary>
        </member>
        <member name="P:CoAP.LinkAttribute.IntValue">
            <summary>
            Gets the int value of this attribute.
            </summary>
        </member>
        <member name="P:CoAP.LinkAttribute.StringValue">
            <summary>
            Gets the string value of this attribute.
            </summary>
        </member>
        <member name="T:CoAP.Deduplication.IDeduplicator">
            <summary>
            Provides methods to detect duplicates.
            Notice that CONs and NONs can be duplicates.
            </summary>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.FindPrevious(CoAP.Net.Exchange.KeyID,CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.Find(CoAP.Net.Exchange.KeyID)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.CropRotation.Dispose">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Threading.ThreadPoolExecutor.Start(CoAP.Action)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Threading.ThreadPoolExecutor.Start(System.Action{System.Object},System.Object)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Stack.CoapStack">
            <summary>
            Builds up the stack of CoAP layers
            that process the CoAP protocol.
            </summary>
        </member>
        <member name="T:CoAP.Stack.LayerStack">
            <summary>
            Stack of layers.
            </summary>
        </member>
        <member name="T:CoAP.Response">
            <summary>
            Represents a CoAP response to a CoAP request.
            A response is either a piggy-backed response with type ACK
            or a separate response with type CON or NON.
            </summary>
        </member>
        <member name="M:CoAP.Response.#ctor(CoAP.StatusCode)">
            <summary>
            Initializes a response message.
            </summary>
            <param name="code">The code of this response</param>
        </member>
        <member name="M:CoAP.Response.CreatePiggybackedResponse(CoAP.Request,CoAP.StatusCode)">
            <summary>
            Creates a piggy-backed response with the specified response code
            to the specified request.
            </summary>
        </member>
        <member name="M:CoAP.Response.CreateSeparateResponse(CoAP.Request,CoAP.StatusCode)">
            <summary>
            Creates a separate response with the specified response code to the
            specified request. The destination address of the response is the source
            address of the request. The response has the same token as the request
            but needs another MID from the CoAP network stack.
            </summary>
        </member>
        <member name="P:CoAP.Response.StatusCode">
            <summary>
            Gets the response status code.
            </summary>
        </member>
        <member name="P:CoAP.Response.RTT">
            <summary>
            Gets the Round-Trip Time of this response.
            </summary>
        </member>
        <member name="P:CoAP.Response.Last">
            <summary>
            Gets or sets a value indicating whether this response is the last response of an exchange.
            </summary>
        </member>
        <member name="T:CoAP.Observe.ObservingEndpoint">
            <summary>
            Represents an observing endpoint. It holds all observe relations
            that the endpoint has to this server. If a confirmable notification timeouts
            for the maximum times allowed the server assumes the client is no longer
            reachable and cancels all relations that it has established to resources.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObservingEndpoint.#ctor(System.Net.EndPoint)">
            <summary>
            Constructs a new observing endpoint.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObservingEndpoint.AddObserveRelation(CoAP.Observe.ObserveRelation)">
            <summary>
            Adds the specified observe relation.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObservingEndpoint.RemoveObserveRelation(CoAP.Observe.ObserveRelation)">
            <summary>
            Removes the specified observe relation.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObservingEndpoint.GetObserveRelation(System.Byte[])">
            <summary>
            Finds the observe relation by token.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObservingEndpoint.CancelAll">
            <summary>
            Cancels all observe relations that this endpoint has established with
            resources from this server.
            </summary>
        </member>
        <member name="P:CoAP.Observe.ObservingEndpoint.EndPoint">
            <summary>
            Gets the <see cref="T:System.Net.EndPoint"/> of this endpoint.
            </summary>
        </member>
        <member name="T:CoAP.Codec.DatagramWriter">
            <summary>
            This class describes the functionality to write raw network-ordered datagrams on bit-level.
            </summary>
        </member>
        <member name="M:CoAP.Codec.DatagramWriter.#ctor">
            <summary>
            Initializes a new DatagramWriter object
            </summary>
        </member>
        <member name="M:CoAP.Codec.DatagramWriter.Write(System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bits to the stream
            </summary>
            <param name="data">An integer containing the bits to write</param>
            <param name="numBits">The number of bits to write</param>
        </member>
        <member name="M:CoAP.Codec.DatagramWriter.WriteBytes(System.Byte[])">
            <summary>
            Writes a sequence of bytes to the stream
            </summary>
            <param name="bytes">The sequence of bytes to write</param>
        </member>
        <member name="M:CoAP.Codec.DatagramWriter.WriteByte(System.Byte)">
            <summary>
            Writes one byte to the stream.
            </summary>
        </member>
        <member name="M:CoAP.Codec.DatagramWriter.ToByteArray">
            <summary>
            Returns a byte array containing the sequence of bits written
            </summary>
            <returns>The byte array containing the written bits</returns>
        </member>
        <member name="T:CoAP.Codec.DatagramReader">
            <summary>
            This class describes the functionality to read raw network-ordered datagrams on bit-level.
            </summary>
        </member>
        <member name="M:CoAP.Codec.DatagramReader.#ctor(System.Byte[])">
            <summary>
            Initializes a new DatagramReader object
            </summary>
            <param name="buffer">The byte array to read from</param>
        </member>
        <member name="M:CoAP.Codec.DatagramReader.Read(System.Int32)">
            <summary>
            Reads a sequence of bits from the stream
            </summary>
            <param name="numBits">The number of bits to read</param>
            <returns>An integer containing the bits read</returns>
        </member>
        <member name="M:CoAP.Codec.DatagramReader.ReadBytes(System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream
            </summary>
            <param name="count">The number of bytes to read</param>
            <returns>The sequence of bytes read from the stream</returns>
        </member>
        <member name="M:CoAP.Codec.DatagramReader.ReadNextByte">
            <summary>
            Reads the next byte from the stream.
            </summary>
        </member>
        <member name="M:CoAP.Codec.DatagramReader.ReadBytesLeft">
            <summary>
            Reads the complete sequence of bytes left in the stream
            </summary>
            <returns>The sequence of bytes left in the stream</returns>
        </member>
        <member name="P:CoAP.Codec.DatagramReader.BytesAvailable">
            <summary>
            Checks if there are remaining bytes to read.
            </summary>
        </member>
        <member name="T:CoAP.Stack.TokenLayer">
            <summary>
            Doesn't do much yet except for setting a simple token. Notice that empty
            tokens must be represented as byte array of length 0 (not null).
            </summary>
        </member>
        <member name="M:CoAP.Stack.TokenLayer.#ctor(CoAP.ICoapConfig)">
            <summary>
            Constructs a new token layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.TokenLayer.SendRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.TokenLayer.SendResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.TokenLayer.ReceiveRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.TokenLayer.ReceiveResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Server.Resources.CoapExchange">
            <summary>
            Represents an exchange of a CoAP request and response and
            provides a user-friendly API to subclasses of <see cref="T:CoAP.Server.Resources.Resource"/>
            for responding to requests.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.#ctor(CoAP.Net.Exchange,CoAP.Server.Resources.Resource)">
            <summary>
            Constructs a new CoAP Exchange object representing
            the specified exchange and resource.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Accept">
            <summary>
            Accepts the exchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Reject">
            <summary>
            Rejects the exchange.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.StatusCode)">
            <summary>
            Responds the specified response code and no payload.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(System.String)">
            <summary>
            Responds with code 2.05 (Content) and the specified payload.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.StatusCode,System.String)">
            <summary>
            Responds with the specified response code and payload.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.StatusCode,System.Byte[])">
            <summary>
            Responds with the specified response code and payload.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.StatusCode,System.Byte[],System.Int32)">
            <summary>
            Responds with the specified response code, payload and content-type.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.StatusCode,System.String,System.Int32)">
            <summary>
            Responds with the specified response code, payload and content-type.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.CoapExchange.Respond(CoAP.Response)">
            <summary>
            Responds Respond with the specified response.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.CoapExchange.Request">
            <summary>
            Gets the request.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.CoapExchange.LocationPath">
            <summary>
            Gets or sets the Location-Path for the response.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.CoapExchange.LocationQuery">
            <summary>
            Gets or sets the Location-Query for the response.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.CoapExchange.MaxAge">
            <summary>
            Gets or sets the Max-Age for the response body.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.CoapExchange.ETag">
            <summary>
            Gets or sets the ETag for the response.
            </summary>
        </member>
        <member name="T:CoAP.MessageType">
            <summary>
            Types of CoAP messages.
            </summary>
        </member>
        <member name="F:CoAP.MessageType.Unknown">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:CoAP.MessageType.CON">
            <summary>
            Confirmable messages require an acknowledgement.
            </summary>
        </member>
        <member name="F:CoAP.MessageType.NON">
            <summary>
            Non-Confirmable messages do not require an acknowledgement.
            </summary>
        </member>
        <member name="F:CoAP.MessageType.ACK">
            <summary>
            Acknowledgement messages acknowledge a specific confirmable message.
            </summary>
        </member>
        <member name="F:CoAP.MessageType.RST">
            <summary>
            Reset messages indicate that a specific confirmable message was received, but some context is missing to properly process it.
            </summary>
        </member>
        <member name="M:CoAP.CoapClient.UseCONs">
            <summary>
            Let the client use Confirmable requests.
            </summary>
        </member>
        <member name="M:CoAP.CoapClient.UseNONs">
            <summary>
            Let the client use Non-Confirmable requests.
            </summary>
        </member>
        <member name="M:CoAP.CoapClient.UseEarlyNegotiation(System.Int32)">
            <summary>
            Let the client use early negotiation for the blocksize
            (16, 32, 64, 128, 256, 512, or 1024). Other values will
            be matched to the closest logarithm dualis.
            </summary>
        </member>
        <member name="M:CoAP.CoapClient.UseLateNegotiation">
            <summary>
            Let the client use late negotiation for the block size (default).
            </summary>
        </member>
        <member name="M:CoAP.CoapClient.Ping">
            <summary>
            Performs a CoAP ping.
            </summary>
            <returns>success of the ping</returns>
        </member>
        <member name="M:CoAP.CoapClient.Ping(System.Int32)">
            <summary>
            Performs a CoAP ping and gives up after the given number of milliseconds.
            </summary>
            <param name="timeout">the time to wait for a pong in milliseconds</param>
            <returns>success of the ping</returns>
        </member>
        <member name="M:CoAP.CoapClient.Get">
            <summary>
            Sends a GET request and blocks until the response is available.
            </summary>
            <returns>the CoAP response</returns>
        </member>
        <member name="M:CoAP.CoapClient.Get(System.Int32)">
            <summary>
            Sends a GET request with the specified Accept option and blocks
            until the response is available.
            </summary>
            <param name="accept">the Accept option</param>
            <returns>the CoAP response</returns>
        </member>
        <member name="M:CoAP.CoapClient.GetAsync(System.Action{CoAP.Response},System.Action{CoAP.CoapClient.FailReason})">
            <summary>
            Sends a GET request asynchronizely.
            </summary>
            <param name="done">the callback when a response arrives</param>
            <param name="fail">the callback when an error occurs</param>
        </member>
        <member name="M:CoAP.CoapClient.GetAsync(System.Int32,System.Action{CoAP.Response},System.Action{CoAP.CoapClient.FailReason})">
            <summary>
            Sends a GET request with the specified Accept option asynchronizely.
            </summary>
            <param name="accept">the Accept option</param>
            <param name="done">the callback when a response arrives</param>
            <param name="fail">the callback when an error occurs</param>
        </member>
        <member name="M:CoAP.CoapClient.Delete">
            <summary>
            Sends a DELETE request and waits for the response.
            </summary>
            <returns>the CoAP response</returns>
        </member>
        <member name="M:CoAP.CoapClient.DeleteAsync(System.Action{CoAP.Response},System.Action{CoAP.CoapClient.FailReason})">
            <summary>
            Sends a DELETE request asynchronizely.
            </summary>
            <param name="done">the callback when a response arrives</param>
            <param name="fail">the callback when an error occurs</param>
        </member>
        <member name="P:CoAP.CoapClient.Uri">
            <summary>
            Gets or sets the destination URI of this client.
            </summary>
        </member>
        <member name="P:CoAP.CoapClient.EndPoint">
            <summary>
            Gets or sets the endpoint this client is supposed to use.
            </summary>
        </member>
        <member name="P:CoAP.CoapClient.Timeout">
            <summary>
            Gets or sets the timeout how long synchronous method calls will wait
            until they give up and return anyways. The default value is <see cref="F:System.Threading.Timeout.Infinite"/>.
            </summary>
        </member>
        <member name="T:CoAP.ICoapConfig">
            <summary>
            Provides configuration for CoAP communication.
            </summary>
        </member>
        <member name="M:CoAP.ICoapConfig.Load(System.String)">
            <summary>
            Loads configuration from a config properties file.
            </summary>
        </member>
        <member name="M:CoAP.ICoapConfig.Store(System.String)">
            <summary>
            Stores the configuration in a config properties file.
            </summary>
        </member>
        <member name="P:CoAP.ICoapConfig.DefaultPort">
            <summary>
            Gets the default CoAP port for normal CoAP communication (not secure).
            </summary>
        </member>
        <member name="P:CoAP.ICoapConfig.DefaultSecurePort">
            <summary>
            Gets the default CoAP port for secure CoAP communication (coaps).
            </summary>
        </member>
        <member name="P:CoAP.ICoapConfig.HttpPort">
            <summary>
            Gets the port which HTTP proxy is on.
            </summary>
        </member>
        <member name="P:CoAP.ICoapConfig.DefaultBlockSize">
            <summary>
            Gets the default preferred size of block in blockwise transfer.
            </summary>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.FindPrevious(CoAP.Net.Exchange.KeyID,CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.Find(CoAP.Net.Exchange.KeyID)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.SweepDeduplicator.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Code">
            <summary>
            This class describes the CoAP Code Registry as defined in 
            draft-ietf-core-coap-08, section 11.1
            </summary>
        </member>
        <member name="F:CoAP.Code.GET">
            <summary>
            The GET method
            </summary>
        </member>
        <member name="F:CoAP.Code.POST">
            <summary>
            The POST method
            </summary>
        </member>
        <member name="F:CoAP.Code.PUT">
            <summary>
            The PUT method
            </summary>
        </member>
        <member name="F:CoAP.Code.DELETE">
            <summary>
            The DELETE method
            </summary>
        </member>
        <member name="F:CoAP.Code.Created">
            <summary>
            2.01 Created
            </summary>
        </member>
        <member name="F:CoAP.Code.Deleted">
            <summary>
            2.02 Deleted
            </summary>
        </member>
        <member name="F:CoAP.Code.Valid">
            <summary>
            2.03 Valid 
            </summary>
        </member>
        <member name="F:CoAP.Code.Changed">
            <summary>
            2.04 Changed
            </summary>
        </member>
        <member name="F:CoAP.Code.Content">
            <summary>
            2.05 Content
            </summary>
        </member>
        <member name="F:CoAP.Code.Continue">
            <summary>
            2.?? Continue
            </summary>
        </member>
        <member name="F:CoAP.Code.BadRequest">
            <summary>
            4.00 Bad Request
            </summary>
        </member>
        <member name="F:CoAP.Code.Unauthorized">
            <summary>
            4.01 Unauthorized
            </summary>
        </member>
        <member name="F:CoAP.Code.BadOption">
            <summary>
            4.02 Bad Option
            </summary>
        </member>
        <member name="F:CoAP.Code.Forbidden">
            <summary>
            4.03 Forbidden
            </summary>
        </member>
        <member name="F:CoAP.Code.NotFound">
            <summary>
            4.04 Not Found
            </summary>
        </member>
        <member name="F:CoAP.Code.MethodNotAllowed">
            <summary>
            4.05 Method Not Allowed
            </summary>
        </member>
        <member name="F:CoAP.Code.NotAcceptable">
            <summary>
            4.06 Not Acceptable
            </summary>
        </member>
        <member name="F:CoAP.Code.RequestEntityIncomplete">
            <summary>
            4.08 Request Entity Incomplete (draft-ietf-core-block)
            </summary>
        </member>
        <member name="F:CoAP.Code.PreconditionFailed">
            <summary>
            
            </summary>
        </member>
        <member name="F:CoAP.Code.RequestEntityTooLarge">
            <summary>
            4.13 Request Entity Too Large
            </summary>
        </member>
        <member name="F:CoAP.Code.UnsupportedMediaType">
            <summary>
            4.15 Unsupported Media Type
            </summary>
        </member>
        <member name="F:CoAP.Code.InternalServerError">
            <summary>
            5.00 Internal Server Error
            </summary>
        </member>
        <member name="F:CoAP.Code.NotImplemented">
            <summary>
            5.01 Not Implemented
            </summary>
        </member>
        <member name="F:CoAP.Code.BadGateway">
            <summary>
            5.02 Bad Gateway
            </summary>
        </member>
        <member name="F:CoAP.Code.ServiceUnavailable">
            <summary>
            5.03 Service Unavailable 
            </summary>
        </member>
        <member name="F:CoAP.Code.GatewayTimeout">
            <summary>
            5.04 Gateway Timeout
            </summary>
        </member>
        <member name="F:CoAP.Code.ProxyingNotSupported">
            <summary>
            5.05 Proxying Not Supported
            </summary>
        </member>
        <member name="M:CoAP.Code.IsRequest(System.Int32)">
            <summary>
            Checks whether a code indicates a request
            </summary>
            <param name="code">The code to be checked</param>
            <returns>True iff the code indicates a request</returns>
        </member>
        <member name="M:CoAP.Code.IsResponse(System.Int32)">
            <summary>
            Checks whether a code indicates a response
            </summary>
            <param name="code">The code to be checked</param>
            <returns>True iff the code indicates a response</returns>
        </member>
        <member name="M:CoAP.Code.IsSuccess(System.Int32)">
            <summary>
            Checks whether a code represents a success code.
            </summary>
        </member>
        <member name="M:CoAP.Code.IsValid(System.Int32)">
            <summary>
            Checks whether a code is valid
            </summary>
            <param name="code">The code to be checked</param>
            <returns>True iff the code is valid</returns>
        </member>
        <member name="M:CoAP.Code.ToString(System.Int32)">
            <summary>
            Returns a string representation of the code
            </summary>
            <param name="code">The code to be described</param>
            <returns>A string describing the code</returns>
        </member>
        <member name="T:CoAP.Method">
            <summary>
            Methods of request
            </summary>
        </member>
        <member name="F:CoAP.Method.GET">
            <summary>
            GET method
            </summary>
        </member>
        <member name="F:CoAP.Method.POST">
            <summary>
            POST method
            </summary>
        </member>
        <member name="F:CoAP.Method.PUT">
            <summary>
            PUT method
            </summary>
        </member>
        <member name="F:CoAP.Method.DELETE">
            <summary>
            DELETE method
            </summary>
        </member>
        <member name="T:CoAP.StatusCode">
            <summary>
            Response status codes.
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Created">
            <summary>
            2.01 Created
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Deleted">
            <summary>
            2.02 Deleted
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Valid">
            <summary>
            2.03 Valid 
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Changed">
            <summary>
            2.04 Changed
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Content">
            <summary>
            2.05 Content
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Continue">
            <summary>
            2.?? Continue
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.BadRequest">
            <summary>
            4.00 Bad Request
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Unauthorized">
            <summary>
            4.01 Unauthorized
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.BadOption">
            <summary>
            4.02 Bad Option
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.Forbidden">
            <summary>
            4.03 Forbidden
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.NotFound">
            <summary>
            4.04 Not Found
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.MethodNotAllowed">
            <summary>
            4.05 Method Not Allowed
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.NotAcceptable">
            <summary>
            4.06 Not Acceptable
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.RequestEntityIncomplete">
            <summary>
            4.08 Request Entity Incomplete (draft-ietf-core-block)
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.PreconditionFailed">
            <summary>
            
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.RequestEntityTooLarge">
            <summary>
            4.13 Request Entity Too Large
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.UnsupportedMediaType">
            <summary>
            4.15 Unsupported Media Type
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.InternalServerError">
            <summary>
            5.00 Internal Server Error
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.NotImplemented">
            <summary>
            5.01 Not Implemented
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.BadGateway">
            <summary>
            5.02 Bad Gateway
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.ServiceUnavailable">
            <summary>
            5.03 Service Unavailable 
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.GatewayTimeout">
            <summary>
            5.04 Gateway Timeout
            </summary>
        </member>
        <member name="F:CoAP.StatusCode.ProxyingNotSupported">
            <summary>
            5.05 Proxying Not Supported
            </summary>
        </member>
        <member name="M:CoAP.Util.ByteArrayUtils.ToHexString(System.Byte[])">
            <summary>
            Returns a hex string representation of the given bytes array.
            </summary>
        </member>
        <member name="T:CoAP.Stack.ReliabilityLayer">
            <summary>
            The reliability layer
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.#ctor(CoAP.ICoapConfig)">
            <summary>
            Constructs a new reliability layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.SendRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <summary>
            // Schedules a retransmission for confirmable messages.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.SendResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <summary>
            Makes sure that the response type is correct. The response type for a NON
            can be NON or CON. The response type for a CON should either be an ACK
            with a piggy-backed response or, if an empty ACK has already be sent, a
            CON or NON with a separate response.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.ReceiveRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <summary>
            When we receive a duplicate of a request, we stop it here and do not
            forward it to the upper layer. If the server has already sent a response,
            we send it again. If the request has only been acknowledged (but the ACK
            has gone lost or not reached the client yet), we resent the ACK. If the
            request has neither been responded, acknowledged or rejected yet, the
            server has not yet decided what to do with the request and we cannot do
            anything.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.ReceiveResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <summary>
            When we receive a Confirmable response, we acknowledge it and it also
            counts as acknowledgment for the request. If the response is a duplicate,
            we stop it here and do not forward it to the upper layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.ReliabilityLayer.ReceiveEmptyMessage(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <summary>
            If we receive an ACK or RST, we mark the outgoing request or response
            as acknowledged or rejected respectively and cancel its retransmission.
            </summary>
        </member>
        <member name="T:CoAP.Server.CoapServer">
            <summary>
            Represents an execution environment for CoAP <see cref="T:CoAP.Server.Resources.IResource"/>s.
            </summary>
        </member>
        <member name="T:CoAP.Server.IServer">
            <summary>
            Represents an execution environment for CoAP <see cref="T:CoAP.Server.Resources.IResource"/>s.
            
            A server hosts a tree of <see cref="T:CoAP.Server.Resources.IResource"/>s which are exposed to clients by
            means of one or more <see cref="T:CoAP.Net.IEndPoint"/>s which are bound to a network interface.
            Resources can be added and removed from the server dynamically during runtime.
            </summary>
        </member>
        <member name="M:CoAP.Server.IServer.AddEndPoint(CoAP.Net.IEndPoint)">
            <summary>
            Adds an endpoint for receive and sending CoAP messages on.
            </summary>
        </member>
        <member name="M:CoAP.Server.IServer.FindEndPoint(System.Net.EndPoint)">
            <summary>
            Finds the endpoint bound to a particular <see cref="T:System.Net.EndPoint"/>.
            </summary>
            <returns>the endpoint or <code>null</code> if none of the server's
            endpoints is bound to the given <see cref="T:System.Net.EndPoint"/></returns>
        </member>
        <member name="M:CoAP.Server.IServer.FindEndPoint(System.Int32)">
            <summary>
            Finds the endpoint bound to a particular port.
            </summary>
            <returns>the endpoint or <code>null</code> if none of the
            server's endpoints is bound to the given port</returns>
        </member>
        <member name="M:CoAP.Server.IServer.Add(CoAP.Server.Resources.IResource)">
            <summary>
            Add one resource to the server.
            </summary>
        </member>
        <member name="M:CoAP.Server.IServer.Add(CoAP.Server.Resources.IResource[])">
            <summary>
            Adds one or more resources to the server.
            </summary>
        </member>
        <member name="M:CoAP.Server.IServer.Remove(CoAP.Server.Resources.IResource)">
            <summary>
            Removes a resource from the server.
            </summary>
            <returns><code>true</code> if the resource has been removed successfully</returns>
        </member>
        <member name="M:CoAP.Server.IServer.Start">
            <summary>
            Starts the server by starting all endpoints this server is assigned to.
            </summary>
        </member>
        <member name="M:CoAP.Server.IServer.Stop">
            <summary>
            Stops the server.
            </summary>
        </member>
        <member name="M:CoAP.Server.CoapServer.#ctor">
            <summary>
            Constructs a server with default configuration.
            </summary>
        </member>
        <member name="M:CoAP.Server.CoapServer.#ctor(System.Int32[])">
            <summary>
            Constructs a server that listens to the specified port(s).
            </summary>
            <param name="ports">the ports to bind to</param>
        </member>
        <member name="M:CoAP.Server.CoapServer.#ctor(CoAP.ICoapConfig,System.Int32[])">
            <summary>
            Constructs a server with the specified configuration that
            listens to the given ports.
            </summary>
            <param name="config">the configuration, or <code>null</code> for default</param>
            <param name="ports">the ports to bind to</param>
        </member>
        <member name="M:CoAP.Server.CoapServer.AddEndPoint(CoAP.Net.IEndPoint)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.FindEndPoint(System.Net.EndPoint)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.FindEndPoint(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Add(CoAP.Server.Resources.IResource)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Add(CoAP.Server.Resources.IResource[])">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Remove(CoAP.Server.Resources.IResource)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.CoapServer.Dispose">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Server.CoapServer.EndPoints">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Net.Exchange">
            <summary>
            Represents the complete state of an exchange of one request
            and one or more responses. The lifecycle of an exchange ends
            when either the last response has arrived and is acknowledged,
            when a request or response has been rejected from the remote endpoint,
            when the request has been canceled, or when a request or response timed out,
            i.e., has reached the retransmission limit without being acknowledged.
            </summary>
        </member>
        <member name="M:CoAP.Net.Exchange.SendReject">
            <summary>
            Reject this exchange and therefore the request.
            Sends an RST back to the client.
            </summary>
        </member>
        <member name="M:CoAP.Net.Exchange.SendAccept">
            <summary>
            Accept this exchange and therefore the request. Only if the request's
            type was a <code>CON</code> and the request has not been acknowledged
            yet, it sends an ACK to the client.
            </summary>
        </member>
        <member name="M:CoAP.Net.Exchange.SendResponse(CoAP.Response)">
            <summary>
            Sends the specified response over the same endpoint
            as the request has arrived.
            </summary>
        </member>
        <member name="P:CoAP.Net.Exchange.EndPoint">
            <summary>
            Gets or sets the endpoint which has created and processed this exchange.
            </summary>
        </member>
        <member name="P:CoAP.Net.Exchange.RequestBlockStatus">
            <summary>
            Gets or sets the status of the blockwise transfer of the request,
            or null in case of a normal transfer,
            </summary>
        </member>
        <member name="P:CoAP.Net.Exchange.ResponseBlockStatus">
            <summary>
            Gets or sets the status of the blockwise transfer of the response,
            or null in case of a normal transfer,
            </summary>
        </member>
        <member name="P:CoAP.Net.Exchange.Block1ToAck">
            <summary>
            Gets or sets the block option of the last block of a blockwise sent request.
            When the server sends the response, this block option has to be acknowledged.
            </summary>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyID.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyID.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyID.ToString">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyToken.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyToken.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyToken.ToString">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyUri.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyUri.Equals(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.Exchange.KeyUri.ToString">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Net.Origin">
            <summary>
            The origin of an exchange.
            </summary>
        </member>
        <member name="T:CoAP.Server.ServerMessageDeliverer">
            <summary>
            Delivers requests to corresponding resources and
            responses to corresponding requests.
            </summary>
        </member>
        <member name="T:CoAP.Net.IMessageDeliverer">
            <summary>
            Provides methods for delivering inbound CoAP messages to an appropriate processor.
            </summary>
        </member>
        <member name="M:CoAP.Net.IMessageDeliverer.DeliverRequest(CoAP.Net.Exchange)">
            <summary>
            Delivers an inbound CoAP request to an appropriate resource.
            </summary>
            <param name="exchange"> the exchange containing the inbound <see cref="T:CoAP.Request"/></param>
        </member>
        <member name="M:CoAP.Net.IMessageDeliverer.DeliverResponse(CoAP.Net.Exchange,CoAP.Response)">
            <summary>
            Delivers an inbound CoAP response message to its corresponding request.
            </summary>
            <param name="exchange">the exchange containing the originating CoAP request</param>
            <param name="response">the inbound CoAP response message</param>
        </member>
        <member name="M:CoAP.Server.ServerMessageDeliverer.#ctor(CoAP.ICoapConfig,CoAP.Server.Resources.IResource)">
            <summary>
            Constructs a default message deliverer that delivers requests
            to the resources rooted at the specified root.
            </summary>
        </member>
        <member name="M:CoAP.Server.ServerMessageDeliverer.DeliverRequest(CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Server.ServerMessageDeliverer.DeliverResponse(CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.Server.Resources.DiscoveryResource">
            <summary>
            Represents the CoAP .well-known/core resource.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.DiscoveryResource.#ctor(CoAP.Server.Resources.IResource)">
            <summary>
            Instantiates a new discovery resource.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.DiscoveryResource.#ctor(System.String,CoAP.Server.Resources.IResource)">
            <summary>
            Instantiates a new discovery resource with the specified name.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.DiscoveryResource.DoGet(CoAP.Server.Resources.CoapExchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.ClientMessageDeliverer.DeliverRequest(CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.ClientMessageDeliverer.DeliverResponse(CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.LinkFormat">
            <summary>
            This class provides link format definitions as specified in
            draft-ietf-core-link-format-06
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.ResourceType">
            <summary>
            Name of the attribute Resource Type
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.InterfaceDescription">
            <summary>
            Name of the attribute Interface Description
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.ContentType">
            <summary>
            Name of the attribute Content Type
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.MaxSizeEstimate">
            <summary>
            Name of the attribute Max Size Estimate
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.Title">
            <summary>
            Name of the attribute Title
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.Observable">
            <summary>
            Name of the attribute Observable
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.Link">
            <summary>
            Name of the attribute link
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.Delimiter">
            <summary>
            The string as the delimiter between resources
            </summary>
        </member>
        <member name="F:CoAP.LinkFormat.Separator">
            <summary>
            The string to separate attributes
            </summary>
        </member>
        <member name="T:CoAP.Net.IEndPoint">
            <summary>
            Represents a communication endpoint multiplexing CoAP message exchanges
            between (potentially multiple) clients and servers.
            </summary>
        </member>
        <member name="M:CoAP.Net.IEndPoint.Start">
            <summary>
            Starts this endpoint and all its components.
            </summary>
        </member>
        <member name="M:CoAP.Net.IEndPoint.Stop">
            <summary>
            Stops this endpoint and all its components
            </summary>
        </member>
        <member name="M:CoAP.Net.IEndPoint.SendRequest(CoAP.Request)">
            <summary>
            Sends the specified request.
            </summary>
            <param name="request"></param>
        </member>
        <member name="M:CoAP.Net.IEndPoint.SendResponse(CoAP.Net.Exchange,CoAP.Response)">
            <summary>
            Sends the specified response.
            </summary>
        </member>
        <member name="M:CoAP.Net.IEndPoint.SendEmptyMessage(CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <summary>
            Sends the specified empty message.
            </summary>
        </member>
        <member name="P:CoAP.Net.IEndPoint.Config">
            <summary>
            Gets this endpoint's configuration.
            </summary>
        </member>
        <member name="P:CoAP.Net.IEndPoint.LocalEndPoint">
            <summary>
            Gets the local <see cref="T:System.Net.EndPoint"/> this endpoint is associated with.
            </summary>
        </member>
        <member name="P:CoAP.Net.IEndPoint.Running">
            <summary>
            Checks if the endpoint has started.
            </summary>
        </member>
        <member name="P:CoAP.Net.IEndPoint.MessageDeliverer">
            <summary>
            Gets or sets the message deliverer.
            </summary>
        </member>
        <member name="P:CoAP.Net.IEndPoint.ExchangeForwarder">
            <summary>
            Gets the exchange forwarder.
            </summary>
        </member>
        <member name="T:CoAP.EndPoint.Resources.Resource">
            <summary>
            This class describes the functionality of a CoAP resource.
            </summary>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.#ctor(System.String)">
            <summary>
            Initialize a resource.
            </summary>
            <param name="resourceIdentifier">The identifier of this resource</param>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.#ctor(System.String,System.Boolean)">
            <summary>
            Initialize a resource.
            </summary>
            <param name="resourceIdentifier">The identifier of this resource</param>
            <param name="hidden">True if this resource is hidden</param>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.Remove">
            <summary>
            Removes this resource from its parent.
            </summary>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.GetSubResources">
            <summary>
            Gets sub-resources of this resource.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.AddSubResource(CoAP.EndPoint.Resources.Resource)">
            <summary>
            Adds a resource as a sub-resource of this resource.
            </summary>
            <param name="resource">The sub-resource to be added</param>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.RemoveSubResource(System.String)">
            <summary>
            Removes a sub-resource from this resource by its identifier.
            </summary>
            <param name="resourcePath">the path of the sub-resource to remove</param>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.RemoveSubResource(CoAP.EndPoint.Resources.Resource)">
            <summary>
            Removes a sub-resource from this resource.
            </summary>
            <param name="resource">the sub-resource to remove</param>
        </member>
        <member name="M:CoAP.EndPoint.Resources.Resource.CreateInstance(System.String)">
            <summary>
            Creates a resouce instance with proper subtype.
            </summary>
            <returns></returns>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.Path">
            <summary>
            Gets the URI of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.ResourceType">
            <summary>
            Gets or sets the type attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.Title">
            <summary>
            Gets or sets the title attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.InterfaceDescription">
            <summary>
            Gets or sets the interface description attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.ContentTypeCode">
            <summary>
            Gets or sets the content type code attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.MaximumSizeEstimate">
            <summary>
            Gets or sets the maximum size estimate attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.Observable">
            <summary>
            Gets or sets the observable attribute of this resource.
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.TotalSubResourceCount">
            <summary>
            Gets the total count of sub-resources, including children and children's children...
            </summary>
        </member>
        <member name="P:CoAP.EndPoint.Resources.Resource.SubResourceCount">
            <summary>
            Gets the count of sub-resources of this resource.
            </summary>
        </member>
        <member name="T:CoAP.Channel.DataReceivedEventArgs">
            <summary>
            Provides data for <see cref="E:CoAP.Channel.IChannel.DataReceived"/> event.
            </summary>
        </member>
        <member name="M:CoAP.Channel.DataReceivedEventArgs.#ctor(System.Byte[],System.Net.EndPoint)">
            <summary>
            </summary>
        </member>
        <member name="P:CoAP.Channel.DataReceivedEventArgs.Data">
            <summary>
            Gets the received bytes.
            </summary>
        </member>
        <member name="P:CoAP.Channel.DataReceivedEventArgs.EndPoint">
            <summary>
            Gets the <see cref="T:System.Net.EndPoint"/> where the data is received from.
            </summary>
        </member>
        <member name="T:CoAP.WebLink">
            <summary>
            This class can be used to programmatically browse a remote CoAP endoint.
            </summary>
        </member>
        <member name="M:CoAP.WebLink.CompareTo(CoAP.WebLink)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.WebLink.ToString">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetCoapResponse(System.Net.HttpWebResponse,CoAP.Request)">
            <summary>
            Gets the CoAP response from an incoming HTTP response. No null value is
            returned. The response is created from a predefined mapping of the HTTP
            response codes. If the code is 204, which has
            multiple meaning, the mapping is handled looking on the request method
            that has originated the response. The options are set thorugh the HTTP
            headers and the option max-age, if not indicated, is set to the default
            value (60 seconds). if the response has an enclosing entity, it is mapped
            to a CoAP payload and the content-type of the CoAP message is set
            properly.
            </summary>
            <param name="httpResponse">the http response</param>
            <param name="coapRequest">the coap response</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:CoAP.Proxy.TranslationException"></exception>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetCoapRequest(CoAP.Http.IHttpRequest,System.String,System.Boolean)">
            <summary>
            Gets the coap request. Creates the CoAP request from the HTTP method and
            mapping it through the properties file. The uri is translated using
            regular expressions, the uri format expected is either the embedded
            mapping (http://proxyname.domain:80/proxy/coapserver:5683/resource
            converted in coap://coapserver:5683/resource) or the standard uri to
            indicate a local request not to be forwarded. The method uses a decoder
            to translate the application/x-www-form-urlencoded format of the uri. The
            CoAP options are set translating the headers. If the HTTP message has an
            enclosing entity, it is converted to create the payload of the CoAP
            message; finally the content-type is set accordingly to the header and to
            the entity type.
            </summary>
            <param name="httpRequest">the http request</param>
            <param name="proxyResource"></param>
            <param name="proxyingEnabled"></param>
            <returns></returns>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetCoapMediaType(System.String)">
            <summary>
            Gets the coap media type associated to the http content type. Firstly, it looks
            for a predefined mapping. If this step fails, then it
            tries to explicitly map/parse the declared mime/type by the http content type.
            If even this step fails, it sets application/octet-stream as
            content-type.
            </summary>
            <param name="httpContentTypeString"></param>
            <returns></returns>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetCoapOptions(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Gets the coap options starting from an array of http headers. The
            content-type is not handled by this method. The method iterates over an
            array of headers and for each of them tries to find a predefined mapping
            if the mapping does not exists it skips the header
            ignoring it. The method handles separately certain headers which are
            translated to options (such as accept or cache-control) whose content
            should be semantically checked or requires ad-hoc translation. Otherwise,
            the headers content is translated with the appropriate format required by
            the mapped option.
            </summary>
            <param name="headers"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetHttpRequest(CoAP.Request)">
            <summary>
            Gets the http request starting from a CoAP request. The method creates
            the HTTP request through its request line. The request line is built with
            the uri coming from the string representing the CoAP method and the uri
            obtained from the proxy-uri option. If a payload is provided, the HTTP
            request encloses an HTTP entity and consequently the content-type is set.
            Finally, the CoAP options are mapped to the HTTP headers.
            </summary>
            <param name="coapRequest">the coap request</param>
            <returns>the http request</returns>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:CoAP.Proxy.TranslationException"></exception> 
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetHttpHeaders(System.Collections.Generic.IEnumerable{CoAP.Option})">
            <summary>
            Gets the http headers from a list of CoAP options. The method iterates
            over the list looking for a translation of each option in the predefined
            mapping. This process ignores the proxy-uri and the content-type because
            they are managed differently. If a mapping is present, the content of the
            option is mapped to a string accordingly to its original format and set
            as the content of the header.
            </summary>
            <param name="optionList"></param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:CoAP.Proxy.HttpTranslator.GetHttpResponse(CoAP.Http.IHttpRequest,CoAP.Response,CoAP.Http.IHttpResponse)">
            <summary>
            Sets the parameters of the incoming http response from a CoAP response.
            The status code is mapped through the properties file and is set through
            the StatusLine. The options are translated to the corresponding headers
            and the max-age (in the header cache-control) is set to the default value
            (60 seconds) if not already present. If the request method was not HEAD
            and the coap response has a payload, the entity and the content-type are
            set in the http response.
            </summary>
        </member>
        <member name="T:CoAP.Observe.ObserveNotificationOrderer">
            <summary>
            This class holds the state of an observe relation such
            as the timeout of the last notification and the current number.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveNotificationOrderer.GetNextObserveNumber">
            <summary>
            Gets a new observe option number.
            </summary>
            <returns>a new observe option number</returns>
        </member>
        <member name="P:CoAP.Observe.ObserveNotificationOrderer.Current">
            <summary>
            Gets the current notification number.
            </summary>
        </member>
        <member name="T:CoAP.MediaType">
            <summary>
            This class describes the CoAP Media Type Registry as defined in
            draft-ietf-core-coap (07), section 11.3.
            </summary>
        </member>
        <member name="F:CoAP.MediaType.Undefined">
            <summary>
            undefined
            </summary>
        </member>
        <member name="F:CoAP.MediaType.TextPlain">
            <summary>
            text/plain; charset=utf-8
            </summary>
        </member>
        <member name="F:CoAP.MediaType.TextXml">
            <summary>
            text/xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.TextCsv">
            <summary>
            text/csv
            </summary>
        </member>
        <member name="F:CoAP.MediaType.TextHtml">
            <summary>
            text/html
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ImageGif">
            <summary>
            image/gif
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ImageJpeg">
            <summary>
            image/jpeg
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ImagePng">
            <summary>
            image/png
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ImageTiff">
            <summary>
            image/tiff
            </summary>
        </member>
        <member name="F:CoAP.MediaType.AudioRaw">
            <summary>
            audio/raw
            </summary>
        </member>
        <member name="F:CoAP.MediaType.VideoRaw">
            <summary>
            video/raw
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationLinkFormat">
            <summary>
            application/link-format
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationXml">
            <summary>
            application/xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationOctetStream">
            <summary>
            application/octet-stream
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationRdfXml">
            <summary>
            application/rdf+xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationSoapXml">
            <summary>
            application/soap+xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationAtomXml">
            <summary>
            application/atom+xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationXmppXml">
            <summary>
            application/xmpp+xml
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationExi">
            <summary>
            application/exi
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationFastinfoset">
            <summary>
            application/fastinfoset
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationSoapFastinfoset">
            <summary>
            application/soap+fastinfoset
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationJson">
            <summary>
            application/json
            </summary>
        </member>
        <member name="F:CoAP.MediaType.ApplicationXObixBinary">
            <summary>
            application/x-obix-binary
            </summary>
        </member>
        <member name="F:CoAP.MediaType.Any">
            <summary>
            any
            </summary>
        </member>
        <member name="M:CoAP.MediaType.IsImage(System.Int32)">
            <summary>
            Checks whether the given media type is a type of image.
            </summary>
            <param name="mediaType">The media type to be checked</param>
            <returns>True iff the media type is a type of image</returns>
        </member>
        <member name="M:CoAP.MediaType.ToString(System.Int32)">
            <summary>
            Returns a string representation of the media type.
            </summary>
            <param name="mediaType">The media type to be described</param>
            <returns>A string describing the media type</returns>
        </member>
        <member name="M:CoAP.MediaType.ToFileExtension(System.Int32)">
            <summary>
            Gets the file extension of the given media type.
            </summary>
        </member>
        <member name="T:CoAP.Deduplication.NoopDeduplicator">
            <summary>
            A dummy implementation that does no deduplication.
            </summary>
        </member>
        <member name="M:CoAP.Deduplication.NoopDeduplicator.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.NoopDeduplicator.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.NoopDeduplicator.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.NoopDeduplicator.FindPrevious(CoAP.Net.Exchange.KeyID,CoAP.Net.Exchange)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Deduplication.NoopDeduplicator.Find(CoAP.Net.Exchange.KeyID)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.EndPoint.Resources.RemoteResource.CreateInstance(System.String)">
            <summary>
            Creates a resouce instance with proper subtype.
            </summary>
            <returns></returns>
        </member>
        <member name="T:CoAP.Proxy.CoapTranslator">
            <summary>
            Provides the translations between the messages from the internal CoAP nodes and external ones.
            </summary>
        </member>
        <member name="M:CoAP.Proxy.CoapTranslator.GetRequest(CoAP.Request)">
            <summary>
            Starting from an external CoAP request, the method fills a new request
            for the internal CoAP nodes. Translates the proxy-uri option in the uri
            of the new request and simply copies the options and the payload from the
            original request to the new one.
            </summary>
            <param name="incomingRequest">the original request</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException">the <paramref name="incomingRequest"/> is null</exception>
            <exception cref="T:CoAP.Proxy.TranslationException"></exception>
        </member>
        <member name="M:CoAP.Proxy.CoapTranslator.GetResponse(CoAP.Response)">
            <summary>
            Fills the new response with the response received from the internal CoAP
            node. Simply copies the options and the payload from the forwarded
            response to the new one.
            </summary>
            <param name="incomingResponse">the forwarded request</param>
            <exception cref="T:System.ArgumentNullException">the <paramref name="incomingResponse"/> is null</exception>
            <returns></returns>
        </member>
        <member name="T:CoAP.Log.NopLogManager">
            <summary>
            A <see cref="T:CoAP.Log.ILogManager"/> which always returns the unique instance of
            a direct NOP (no operation) logger.
            </summary>
        </member>
        <member name="T:CoAP.Util.Utils">
            <summary>
            Utility methods.
            </summary>
        </member>
        <member name="T:CoAP.Net.CoAPEndPoint">
            <summary>
            EndPoint encapsulates the stack that executes the CoAP protocol.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor">
            <summary>
            Instantiates a new endpoint.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(CoAP.ICoapConfig)">
            <summary>
            Instantiates a new endpoint with the specified configuration.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(System.Int32)">
            <summary>
            Instantiates a new endpoint with the specified port.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(System.Net.EndPoint)">
            <summary>
            Instantiates a new endpoint with the
            specified <see cref="T:System.Net.EndPoint"/>.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(System.Int32,CoAP.ICoapConfig)">
            <summary>
            Instantiates a new endpoint with the
            specified port and configuration.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(System.Net.EndPoint,CoAP.ICoapConfig)">
            <summary>
            Instantiates a new endpoint with the
            specified <see cref="T:System.Net.EndPoint"/> and configuration.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.#ctor(CoAP.Channel.IChannel,CoAP.ICoapConfig)">
            <summary>
            Instantiates a new endpoint with the
            specified channel and configuration.
            </summary>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.Start">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.Stop">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.Clear">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.Dispose">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.SendRequest(CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.SendResponse(CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Net.CoAPEndPoint.SendEmptyMessage(CoAP.Net.Exchange,CoAP.EmptyMessage)">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Net.CoAPEndPoint.Config">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Net.CoAPEndPoint.LocalEndPoint">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Net.CoAPEndPoint.MessageDeliverer">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Net.CoAPEndPoint.ExchangeForwarder">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Net.CoAPEndPoint.Running">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Log.LogManager.Instance">
            <summary>
            Gets or sets the <see cref="T:CoAP.Log.ILogManager"/> to provide loggers.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseLayer.#ctor(CoAP.ICoapConfig)">
            <summary>
            Constructs a new blockwise layer.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseLayer.SendRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.BlockwiseLayer.ReceiveRequest(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Request)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.BlockwiseLayer.SendResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.Stack.BlockwiseLayer.ReceiveResponse(CoAP.Stack.INextLayer,CoAP.Net.Exchange,CoAP.Response)">
            <inheritdoc/>
        </member>
        <member name="T:CoAP.CoapConstants">
            <summary>
            Constants defined for CoAP protocol
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.UriScheme">
            <summary>
            The URI scheme for identifying CoAP resources
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.DefaultPort">
            <summary>
            The default CoAP port for normal CoAP communication (not secure).
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.DefaultSecurePort">
            <summary>
            The default CoAP port for secure CoAP communication (coaps).
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.AckTimeout">
            <summary>
            The initial time (ms) for a CoAP message
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.AckRandomFactor">
            <summary>
            The initial timeout is set
            to a random number between RESPONSE_TIMEOUT and (RESPONSE_TIMEOUT *
            RESPONSE_RANDOM_FACTOR)
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.MaxRetransmit">
            <summary>
            The max time that a message would be retransmitted
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.DefaultBlockSize">
            <summary>
            Default block size used for block-wise transfers
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.DefaultWellKnownURI">
            <summary>
            Default URI for wellknown resource
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.ObservingRefreshInterval">
            <summary>
            The number of notifications until a CON notification will be used.
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.RequestCodeLowerBound">
            <summary>
            The lowest value of a request code.
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.RequestCodeUpperBound">
            <summary>
            The highest value of a request code.
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.ResponseCodeLowerBound">
            <summary>
            The lowest value of a response code.
            </summary>
        </member>
        <member name="F:CoAP.CoapConstants.ResponseCodeUpperBound">
            <summary>
            The highest value of a response code.
            </summary>
        </member>
        <member name="T:CoAP.BlockOption">
            <summary>
            This class describes the block options of the CoAP messages
            </summary>
        </member>
        <member name="T:CoAP.Option">
            <summary>
            This class describes the options of the CoAP messages.
            </summary>
        </member>
        <member name="F:CoAP.Option._valueBytes">
            <summary>
            NOTE: value bytes in network byte order (big-endian)
            </summary>
        </member>
        <member name="M:CoAP.Option.#ctor(CoAP.OptionType)">
            <summary>
            Initializes an option.
            </summary>
            <param name="type">The type of the option</param>
        </member>
        <member name="M:CoAP.Option.ToString">
            <summary>
            Returns a human-readable string representation of the option's value.
            </summary>
        </member>
        <member name="M:CoAP.Option.GetHashCode">
            <summary>
            Gets the hash code of this object
            </summary>
            <returns>The hash code</returns>
        </member>
        <member name="M:CoAP.Option.Create(CoAP.OptionType)">
            <summary>
            Creates an option.
            </summary>
            <param name="type">The type of the option</param>
            <returns>The new option</returns>
        </member>
        <member name="M:CoAP.Option.Create(CoAP.OptionType,System.Byte[])">
            <summary>
            Creates an option.
            </summary>
            <param name="type">The type of the option</param>
            <param name="raw">The raw bytes value of the option</param>
            <returns>The new option</returns>
        </member>
        <member name="M:CoAP.Option.Create(CoAP.OptionType,System.String)">
            <summary>
            Creates an option.
            </summary>
            <param name="type">The type of the option</param>
            <param name="str">The string value of the option</param>
            <returns>The new option</returns>
        </member>
        <member name="M:CoAP.Option.Create(CoAP.OptionType,System.Int32)">
            <summary>
            Creates an option.
            </summary>
            <param name="type">The type of the option</param>
            <param name="val">The int value of the option</param>
            <returns>The new option</returns>
        </member>
        <member name="M:CoAP.Option.Create(CoAP.OptionType,System.Int64)">
            <summary>
            Creates an option.
            </summary>
            <param name="type">The type of the option</param>
            <param name="val">The long value of the option</param>
            <returns>The new option</returns>
        </member>
        <member name="M:CoAP.Option.Split(CoAP.OptionType,System.String,System.String)">
            <summary>
            Splits a string into a set of options, e.g. a uri path.
            </summary>
            <param name="type">The type of options</param>
            <param name="s">The string to be splited</param>
            <param name="delimiter">The seperator string</param>
            <returns><see cref="T:System.Collections.Generic.IEnumerable`1"/> of options</returns>
        </member>
        <member name="M:CoAP.Option.Join(System.Collections.Generic.IEnumerable{CoAP.Option},System.String)">
            <summary>
            Joins the string values of a set of options.
            </summary>
            <param name="options">The list of options to be joined</param>
            <param name="delimiter">The seperator string</param>
            <returns>The joined string</returns>
        </member>
        <member name="M:CoAP.Option.ToString(CoAP.OptionType)">
            <summary>
            Returns a string representation of the option type.
            </summary>
            <param name="type">The option type to describe</param>
            <returns>A string describing the option type</returns>
        </member>
        <member name="P:CoAP.Option.Type">
            <summary>
            Gets the type of the option.
            </summary>
        </member>
        <member name="P:CoAP.Option.Name">
            <summary>
            Gets the name of the option that corresponds to its type.
            </summary>
        </member>
        <member name="P:CoAP.Option.Length">
            <summary>
            Gets the value's length in bytes of the option.
            </summary>
        </member>
        <member name="P:CoAP.Option.RawValue">
            <summary>
            Gets or sets raw bytes value of the option in network byte order (big-endian).
            </summary>
        </member>
        <member name="P:CoAP.Option.StringValue">
            <summary>
            Gets or sets string value of the option.
            </summary>
        </member>
        <member name="P:CoAP.Option.IntValue">
            <summary>
            Gets or sets int value of the option.
            </summary>
        </member>
        <member name="P:CoAP.Option.LongValue">
            <summary>
            Gets or sets long value of the option.
            </summary>
        </member>
        <member name="P:CoAP.Option.Value">
            <summary>
            Gets the value of the option according to its type.
            </summary>
        </member>
        <member name="P:CoAP.Option.IsDefault">
            <summary>
            Gets a value indicating whether the option has a default value according to the draft.
            </summary>
        </member>
        <member name="M:CoAP.BlockOption.#ctor(CoAP.OptionType)">
            <summary>
            Initializes a block option.
            </summary>
            <param name="type">The type of the option</param>
        </member>
        <member name="M:CoAP.BlockOption.#ctor(CoAP.OptionType,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Initializes a block option.
            </summary>
            <param name="type">The type of the option</param>
            <param name="num">Block number</param>
            <param name="szx">Block size</param>
            <param name="m">More flag</param>
        </member>
        <member name="M:CoAP.BlockOption.SetValue(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Sets block params.
            </summary>
            <param name="num">Block number</param>
            <param name="szx">Block size</param>
            <param name="m">More flag</param>
        </member>
        <member name="M:CoAP.BlockOption.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:CoAP.BlockOption.DecodeSZX(System.Int32)">
            <summary>
            Gets the real block size which is 2 ^ (SZX + 4).
            </summary>
            <param name="szx"></param>
            <returns></returns>
        </member>
        <member name="M:CoAP.BlockOption.EncodeSZX(System.Int32)">
            <summary>
            Converts a block size into the corresponding SZX.
            </summary>
            <param name="blockSize"></param>
            <returns></returns>
        </member>
        <member name="M:CoAP.BlockOption.ValidSZX(System.Int32)">
            <summary>
            Checks whether the given SZX is valid or not.
            </summary>
            <param name="szx"></param>
            <returns></returns>
        </member>
        <member name="P:CoAP.BlockOption.NUM">
            <summary>
            Gets or sets the block number.
            </summary>
        </member>
        <member name="P:CoAP.BlockOption.SZX">
            <summary>
            Gets or sets the block size.
            </summary>
        </member>
        <member name="P:CoAP.BlockOption.M">
            <summary>
            Gets or sets the more flag.
            </summary>
        </member>
        <member name="T:CoAP.Request">
            <summary>
            This class describes the functionality of a CoAP Request as
            a subclass of a CoAP Message. It provides:
            1. operations to answer a request by a response using respond()
            2. different ways to handle incoming responses: receiveResponse() or Responsed event
            </summary>
        </member>
        <member name="M:CoAP.Request.#ctor(CoAP.Method)">
            <summary>
            Initializes a request message.
            </summary>
        </member>
        <member name="M:CoAP.Request.#ctor(CoAP.Method,System.Boolean)">
            <summary>
            Initializes a request message.
            </summary>
            <param name="method">The method code of the message</param>
            <param name="confirmable">True if the request is Confirmable</param>
        </member>
        <member name="M:CoAP.Request.MarkObserve">
            <summary>
            Sets CoAP's observe option. If the target resource of this request
            responds with a success code and also sets the observe option, it will
            send more responses in the future whenever the resource's state changes.
            </summary>
        </member>
        <member name="M:CoAP.Request.MarkObserveCancel">
            <summary>
            Sets CoAP's observe option to the value of 1 to proactively cancel.
            </summary>
        </member>
        <member name="M:CoAP.Request.GetParameter(System.String)">
            <summary>
            Gets the value of a query parameter as a <code>String</code>,
            or <code>null</code> if the parameter does not exist.
            </summary>
            <param name="name">a <code>String</code> specifying the name of the parameter</param>
            <returns>a <code>String</code> representing the single value of the parameter</returns>
        </member>
        <member name="M:CoAP.Request.Send">
            <summary>
            Sends this message.
            </summary>
        </member>
        <member name="M:CoAP.Request.Send(CoAP.Net.IEndPoint)">
            <summary>
            Sends the request over the specified endpoint.
            </summary>
        </member>
        <member name="M:CoAP.Request.WaitForResponse">
            <summary>
            Wait for a response.
            </summary>
            <exception cref="T:System.Threading.ThreadInterruptedException"></exception>
        </member>
        <member name="M:CoAP.Request.WaitForResponse(System.Int32)">
            <summary>
            Wait for a response.
            </summary>
            <param name="millisecondsTimeout">the maximum time to wait in milliseconds</param>
            <returns>the response, or null if timeout occured</returns>
            <exception cref="T:System.Threading.ThreadInterruptedException"></exception>
        </member>
        <member name="M:CoAP.Request.NewGet">
            <summary>
            Construct a GET request.
            </summary>
        </member>
        <member name="M:CoAP.Request.NewPost">
            <summary>
            Construct a POST request.
            </summary>
        </member>
        <member name="M:CoAP.Request.NewPut">
            <summary>
            Construct a PUT request.
            </summary>
        </member>
        <member name="M:CoAP.Request.NewDelete">
            <summary>
            Construct a DELETE request.
            </summary>
        </member>
        <member name="E:CoAP.Request.Respond">
            <summary>
            Fired when a response arrives.
            </summary>
        </member>
        <member name="P:CoAP.Request.Method">
            <summary>
            Gets the request method.
            </summary>
        </member>
        <member name="P:CoAP.Request.Multicast">
            <summary>
            Gets or sets a value indicating whether this request is a multicast request or not.
            </summary>
        </member>
        <member name="P:CoAP.Request.URI">
            <summary>
            Gets or sets the URI of this CoAP message.
            </summary>
        </member>
        <member name="P:CoAP.Request.Response">
            <summary>
            Gets or sets the response to this request.
            </summary>
        </member>
        <!-- 对于成员“T:CoAP.Proxy.HttpStack”忽略有格式错误的 XML 注释 -->
        <member name="F:CoAP.Proxy.HttpStack.ProxyResourceName">
            <summary>
            Resource associated with the proxying behavior.
            If a client requests resource indicated by
            http://proxy-address/ProxyResourceName/coap-server, the proxying
            handler will forward the request desired coap server.
            </summary>
        </member>
        <member name="F:CoAP.Proxy.HttpStack.LocalResourceName">
            <summary>
            The resource associated with the local resources behavior.
            If a client requests resource indicated by
            http://proxy-address/LocalResourceName/coap-resource, the proxying
            handler will forward the request to the local resource requested.
            </summary>
        </member>
        <member name="T:CoAP.OptionType">
            <summary>
            CoAP option types
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Reserved">
            <summary>
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.IfMatch">
            <summary>
            C, opaque, 0-8 B, -
            <remarks>draft-ietf-core-coap-07</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.UriHost">
            <summary>
            C, String, 1-270 B, ""
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.ETag">
            <summary>
            E, sequence of bytes, 1-4 B, -
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.IfNoneMatch">
            <summary>
            <remarks>draft-ietf-core-coap-07</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.UriPort">
            <summary>
            C, uint, 0-2 B
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.LocationPath">
            <summary>
            E, String, 1-270 B, -
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.UriPath">
            <summary>
            C, String, 1-270 B, ""
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.ContentType">
            <summary>
            C, 8-bit uint, 1 B, 0 (text/plain)
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.MaxAge">
            <summary>
            E, variable length, 1--4 B, 60 Seconds
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.UriQuery">
            <summary>
            C, String, 1-270 B, ""
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Accept">
            <summary>
            E  Sequence of Bytes, 1-n B, -
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Token">
            <summary>
            C, Sequence of Bytes, 1-2 B, -
            <remarks>draft-ietf-core-coap-03, draft-ietf-core-coap-12</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.LocationQuery">
            <summary>
            E, String, 1-270 B, -
            <remarks>draft-ietf-core-coap</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.ProxyUri">
            <summary>
            C, String, 1-270 B, "coap"
            <remarks>draft-ietf-core-coap-04</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.ProxyScheme">
            <summary>
            <remarks>draft-ietf-core-coap-13</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Observe">
            <summary>
            E, Duration, 1 B, 0
            <remarks>draft-ietf-core-observe</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Block2">
            <summary>
            <remarks>draft-ietf-core-block</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Block1">
            <summary>
            <remarks>draft-ietf-core-block</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.Size">
            <summary>
            <remarks>draft-ietf-core-block-08</remarks>
            </summary>
        </member>
        <member name="F:CoAP.OptionType.FencepostDivisor">
            <summary>
            no-op for fenceposting
            <remarks>draft-bormann-coap-misc-04</remarks>
            </summary>
        </member>
        <member name="T:CoAP.OptionFormat">
            <summary>
            CoAP option formats
            </summary>
        </member>
        <member name="T:CoAP.Observe.ObserveManager">
            <summary>
            The observe manager holds a mapping of endpoint addresses to
            <see cref="T:CoAP.Observe.ObservingEndpoint"/>s. It makes sure that there be only one
            ObservingEndpoint that represents the observe relations from one endpoint to
            this server. This important in case we want to cancel all relations to a
            specific endpoint, e.g., when a confirmable notification timeouts.
            <remarks>
            Notice that each server has its own ObserveManager. If a server binds to
            multiple endpoints, the ObserveManager keeps the observe relations for all of
            them.
            </remarks>
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveManager.#ctor">
            <summary>
            Constructs a new observe manager.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveManager.FindObservingEndpoint(System.Net.EndPoint)">
            <summary>
            Finds the ObservingEndpoint for the specified endpoint address
            or create a new one if none exists yet.
            </summary>
        </member>
        <member name="M:CoAP.Observe.ObserveManager.GetObservingEndpoint(System.Net.EndPoint)">
            <summary>
            Returns the ObservingEndpoint for the specified endpoint address
            or null if none exists.
            </summary>
        </member>
        <member name="T:CoAP.Stack.BlockwiseStatus">
            <summary>
            Represents the status of a blockwise transfer of a request or a response.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseStatus.#ctor(System.Int32)">
            <summary>
            Instantiates a new blockwise status.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseStatus.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Instantiates a new blockwise status.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseStatus.AddBlock(System.Byte[])">
            <summary>
            Adds the specified block to the current list of blocks.
            </summary>
        </member>
        <member name="M:CoAP.Stack.BlockwiseStatus.ToString">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.CurrentNUM">
            <summary>
            Gets or sets the current num.
            </summary>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.CurrentSZX">
            <summary>
            Gets or sets the current szx.
            </summary>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.ContentFormat">
            <summary>
            Gets the initial Content-Format, which must stay the same for the whole transfer.
            </summary>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.Complete">
            <summary>
            Gets or sets a value indicating if this is complete.
            </summary>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.BlockCount">
            <summary>
            Gets the number of blocks.
            </summary>
        </member>
        <member name="P:CoAP.Stack.BlockwiseStatus.Blocks">
            <summary>
            Gets all blocks.
            </summary>
        </member>
        <member name="T:CoAP.Server.Resources.ResourceAttributes">
            <summary>
            Wraps different attributes that the CoAP protocol defines
            such as title, resource type or interface description. These attributes will
            also be included in the link description of the resource they belong to. For
            example, if a title was specified, the link description for a sensor resource
            might look like this <code>&lt;/sensors&gt;;title="Sensor Index"</code>.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.AddResourceType(System.String)">
            <summary>
            Adds a resource type.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.GetResourceTypes">
            <summary>
            Gets all resource types.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.ClearResourceTypes">
            <summary>
            Clears all resource types.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.AddInterfaceDescription(System.String)">
            <summary>
            Adds an interface description.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.GetInterfaceDescriptions">
            <summary>
            Gets all interface descriptions.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.ClearInterfaceDescriptions">
            <summary>
            Clears all interface descriptions.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.AddContentType(System.Int32)">
            <summary>
            Adds a content type specified by an integer.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.GetContentTypes">
            <summary>
            Gets all content types.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.ClearContentTypes">
            <summary>
            Clears all content types.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.Contains(System.String)">
            <summary>
            Returns <tt>true</tt> if this object contains the specified attribute.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.Add(System.String)">
            <summary>
            Adds an arbitrary attribute with no value.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.Add(System.String,System.String)">
            <summary>
            Adds the specified value to the other values of the specified attribute.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.Set(System.String,System.String)">
            <summary>
            Replaces the value for the specified attribute with the specified value.
            If another value has been set for the attribute name, it will be removed.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.GetValues(System.String)">
            <summary>
            Gets all values for the specified attribute.
            </summary>
        </member>
        <member name="M:CoAP.Server.Resources.ResourceAttributes.Clear(System.String)">
            <summary>
            Removes all values for the specified attribute.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.Count">
            <summary>
            Gets the number of attributes.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.Keys">
            <summary>
            Gets all the attribute names.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.Title">
            <summary>
            Gets the resource title.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.Observable">
            <summary>
            Gets or sets a value indicating if the resource is observable.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.MaximumSizeEstimate">
            <summary>
            Gets or sets the maximum size estimate.
            </summary>
        </member>
        <member name="P:CoAP.Server.Resources.ResourceAttributes.MaximumSizeEstimateString">
            <summary>
            Gets or sets the maximum size estimate.
            </summary>
        </member>
        <member name="T:CoAP.CoapConfig">
            <summary>
            Default implementation of <see cref="T:CoAP.ICoapConfig"/>.
            </summary>
        </member>
        <member name="M:CoAP.CoapConfig.Load(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:CoAP.CoapConfig.Store(System.String)">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.DefaultPort">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.DefaultSecurePort">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.HttpPort">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.AckTimeout">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.AckRandomFactor">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.AckTimeoutScale">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.MaxRetransmit">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.MaxMessageSize">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.DefaultBlockSize">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.UseRandomIDStart">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.UseRandomTokenStart">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.Deduplicator">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.CropRotationPeriod">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.ExchangeLifecycle">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.MarkAndSweepInterval">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.NotificationMaxAge">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.NotificationCheckIntervalTime">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.NotificationCheckIntervalCount">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.NotificationReregistrationBackoff">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.ChannelReceiveBufferSize">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.ChannelSendBufferSize">
            <inheritdoc/>
        </member>
        <member name="P:CoAP.CoapConfig.ChannelReceivePacketSize">
            <inheritdoc/>
        </member>
        <member name="E:CoAP.CoapConfig.PropertyChanged">
            <inheritdoc/>
        </member>
    </members>
</doc>
